#Functions:
def is_even(x):
    return x % 2 == 0

callable(is_even)


#Lambdas
is_odd = lambda x: x % 2 == 1

callable(is_odd)


#Class objects 
callable(list)


#Methods 
callable(list.append)


#Instance objects (by defining the __call__() method)
class CallMe:
    def __call__(self):
        print("Called!")

my_call_me = CallMe()
callable(my_call_me)


#string instances are not callable:
callable("This is not callable")
